package com.mulanweb.handler;

import com.mulanweb.api.module.model.Coupon;
import com.mulanweb.api.module.model.Order;

/**
 * Created by Administrator on 2017/2/24 0024.
 */
public class CouponHandler {

    /**
     * 订单失效，优惠券使用次数加一
     * @param orderId 订单主键
     * @return 执行结果
     */
    public static boolean cancelCoupon(Long orderId){
        Order order = Order.dao.findById(orderId);
        Coupon coupon = null;
        if(order !=null ){
            coupon  = Coupon.dao.findById(order.getCouponId());
            if(coupon !=null && order.getCouponStatusId() == 18L){
                coupon.setSurplusNumber(coupon.getSurplusNumber() + 1);
                order.setCouponStatusId(19L);
                return coupon.update() && order.update();
            }
        }
        return false;
    }

    /**
     * 订单使用优惠券，优惠券使用次数减一
     * @param orderId 订单主键
     * @return 执行结果
     */
    public static boolean useCoupon(Long orderId){
        Order order = Order.dao.findById(orderId);
        Coupon coupon = null;
        if(order !=null){
            coupon  = Coupon.dao.findById(order.getCouponId());
            if(coupon !=null){
                coupon.setSurplusNumber(coupon.getSurplusNumber() - 1);
                return coupon.update();
            }
        }
        return false;
    }

    public static float getCouponValue(Long couponId){
        Coupon coupon = Coupon.dao.findById(couponId);
        if(coupon !=null){
            return coupon.getValue();
        }
        return 0F;
    }

}
